package com.ruoyi.system.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 评论信息对象 evaluations
 * 
 * @author 张英旺
 * @date 2024-02-27
 */
public class Evaluations extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 评价ID */
    private Long evaluationId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 被评价对象类型（例如：教练、课程、健身计划） */
    @Excel(name = "被评价对象类型", readConverterExp = "例=如：教练、课程、健身计划")
    private String evaluatedEntityType;

    /** 被评价对象ID（对应于教练、课程或健身计划的ID） */
    @Excel(name = "被评价对象ID", readConverterExp = "对=应于教练、课程或健身计划的ID")
    private String evaluatedEntityId;

    /** 评价内容 */
    @Excel(name = "评价内容")
    private String evaluationContent;

    /** 评价时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "评价时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date evaluationDatetime;

    /** 用户信息信息 */
    private List<SysUser> sysUserList;

    public void setEvaluationId(Long evaluationId) 
    {
        this.evaluationId = evaluationId;
    }

    public Long getEvaluationId() 
    {
        return evaluationId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setEvaluatedEntityType(String evaluatedEntityType) 
    {
        this.evaluatedEntityType = evaluatedEntityType;
    }

    public String getEvaluatedEntityType() 
    {
        return evaluatedEntityType;
    }
    public void setEvaluatedEntityId(String evaluatedEntityId)
    {
        this.evaluatedEntityId = evaluatedEntityId;
    }

    public String getEvaluatedEntityId()
    {
        return evaluatedEntityId;
    }
    public void setEvaluationContent(String evaluationContent) 
    {
        this.evaluationContent = evaluationContent;
    }

    public String getEvaluationContent() 
    {
        return evaluationContent;
    }
    public void setEvaluationDatetime(Date evaluationDatetime) 
    {
        this.evaluationDatetime = evaluationDatetime;
    }

    public Date getEvaluationDatetime() 
    {
        return evaluationDatetime;
    }

    public List<SysUser> getSysUserList()
    {
        return sysUserList;
    }

    public void setSysUserList(List<SysUser> sysUserList)
    {
        this.sysUserList = sysUserList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("evaluationId", getEvaluationId())
            .append("userId", getUserId())
            .append("evaluatedEntityType", getEvaluatedEntityType())
            .append("evaluatedEntityId", getEvaluatedEntityId())
            .append("evaluationContent", getEvaluationContent())
            .append("evaluationDatetime", getEvaluationDatetime())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("sysUserList", getSysUserList())
            .toString();
    }
}
